package com.qst.crop.dao;

import com.qst.crop.entity.OrderDiscuss;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface OrderDiscussDao {
    /**
     * 插入新的评论信息
     * @param orderDiscuss 评论信息实体
     */
    void insertOrderDiscuss(OrderDiscuss orderDiscuss);

    /**
     * 查询所有评论信息
     * @return 评论信息列表
     */
    List<OrderDiscuss> selectAllOrderDiscuss(Integer id);


    List<OrderDiscuss> selectAllReplyDiscuss(Integer id);

    /**
     * 根据ID查询单个评论信息
     * @param id 评论信息ID
     * @return 评论信息实体
     */
    OrderDiscuss selectOrderDiscussById(Integer id);

    List<OrderDiscuss> selectOrderReplyById(Integer replyId);

    /**
     * 更新评论信息
     * @param orderDiscuss 评论信息实体
     */
    void updateOrderDiscuss(OrderDiscuss orderDiscuss);

    /**
     * 根据ID删除评论信息
     * @param id 评论信息ID
     */
    void deleteOrderDiscuss(Integer id);

    /**
     * 根据用户名查询评论信息
     * @param userName 用户名
     * @return 评论信息列表
     */
    List<OrderDiscuss> selectByUserName(String userName);

    /**
     * 根据回复的评论ID查询评论信息
     * @param replyId 回复的评论ID
     * @return 评论信息列表
     */
    List<OrderDiscuss> selectByReplyId(String replyId);


    /**
     * 回复的数目+1
     * @param discussId
     * @return
     */
    int addRepluNum(Integer discussId);


    List<Integer> userLikeList(String username);

    int addLike(String username, Integer orderDiscussId);

    int deleteLike(String username, Integer orderDiscussId);
}
